#include<bits/stdc++.h>
using namespace std;
class Solution {
public:
    bool check(char a,char b)
    {
        int c=a-'0';
        int d=b-'0';
        int v=c*10+d;
        if(v>=10&&v<=26) return true;
        return false;
    }
    int numDecodings(string s) {
        int n=s.size();
        vector<int> dp(n+1);
        dp[0]=1;
        for(int i=1;i<=n;i++)
        {
            if(s[i-1]!='0') dp[i]+=dp[i-1];
            if(i>1&&check(s[i-2],s[i-1])) dp[i]+=dp[i-2];
        }
        return dp[n];
    }
};